A Real-Time Clock (RTC) is typically driven by a clock signal generated from a crystal oscillator or the like, with some error in frequency. In addition to an initial frequency error under the typical operating conditions of the clock generator, the frequency error will shift at different operating conditions including supply voltage and/or temperature. Typical frequency shifts can be on the order of 100 ppm-200 ppm or possibly much larger depending on the clock generator. Such frequency error, both initially and over different operating conditions, is not acceptable in many applications.
In certain applications, an RTC must be run from a battery either some, or all of the time. In many of these applications, current levels must be on the order of single micro-amps down to hundreds of nano-amps. At these consumption levels, switching currents in digital circuitry, even at clock speeds as slow as 32 kHz, can be critical to the total operating current of the part. As a result, great care is required in the implementation of the RTC circuitry as it is very desirable in order to minimize its supply current.
Previous approaches to the problem have certain shortcomings: additional (faster and slower) clocks, and other circuitry are introduced to provide adjustment of the uncompensated clock. This adds to the power and area requirements. Additionally large adjustments may be done in widely spaced, short bursts that can cause jitter in the resulting compensated clock. Often the digital circuitry is synchronized with the higher speed uncompensated clock which increases required current.